home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Atari Compendium
/
The Atari Compendium (Toad Computers) (1994).iso
/
files
/
umich
/
utils
/
switcher.lzh
/
NBRSS.C
< prev
next >
Wrap
C/C++ Source or Header
|
1990-04-04
|
3KB
|
97 lines
#include <tos.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <mydefs.h>
char buf[4096];
char spath[128];
char fpath[128];
char files[128][14];
long fleng[128],l;
static char *sext = "\\*.SND";
static char *slash = "\\\0";
static char *crlf = "\015\012";
long getline(
char *dest,
char *buf,
long start,
long max)
{
long p,q;
q = 0L;
p = start;
while((p<max)&&(*(buf+p)<0x20))
++p;
while((p<max)&&(*(buf+p)>0x1f))
{
*(dest+q)=*(buf+p);
++p;
++q;
}
*(dest+q) = 0;
return(p);
}
void main(void)
{
int fd;
DTA *d;
unt u;
uln r;
puts("NBRSS V1.0 - with Turbo C 2.0");
puts("NewBell Random Sound Selector");
puts("BY Gregory Mathias Lemperle-Kerr");
if (Fsfirst("NEWBELL.DAT",0)>=0)
{
d=Fgetdta();
l=d->d_length;
puts("Using NEWBELL.DAT for paths...");
fd=Fopen("NEWBELL.DAT",1);
Fread(fd,l,buf);
Fclose(fd);
getline(spath,buf,0,l);
}
else
strcpy(spath,"C:\AUTO\SOUNDS\DEFAULT.SND");
for(r=strlen(spath);r>0;r--)
if (*(spath+r)=='\\')
break;
*(spath+r)=0;
strcpy(fpath,spath);
strcat(spath,sext);
puts(spath);
u = 0;
if ((fd=Fsfirst(spath,0))>=0) while (fd>=0)
{
d=Fgetdta();
strncpy(files[u],d->d_fname,14);
fleng[u]=d->d_length;
fd = Fsnext();
++u;
}
else
{
puts("NO DIGITIZED SOUND FILES FOUND!\007");
return;
}
r=(Random()+Gettime())%u;
puts(files[r]);
puts("Writing...");
if(Fsfirst("NEWBELL.DAT",0)>=0)
Fdelete("NEWBELL.DAT");
strcat(fpath,slash);
strcat(fpath,files[r]);
strcat(fpath,crlf);
fd=Fcreate("NEWBELL.DAT",0);
Fclose(fd);
fd=Fopen("NEWBELL.DAT",WRITE);
Fwrite(fd,strlen(fpath),fpath);
Fclose(fd);
}